package com.woniu.postbar.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.woniu.postbar.pojo.PostLike;

public interface DBService {
    /**
     * 保存点赞记录
     */
    Boolean save(PostLike userLike);
    /**
     * 更新点赞记录
     */
    Boolean update(PostLike userLike);
    /**
     * 根据内容的id查询点赞列表（即查询都谁给这个内容点赞过）
     */
    Page<PostLike> getLikedListByPostId(Integer postId, Integer currentPage, Integer pageSize);

    /**
     * 根据点赞人的id查询点赞列表（即查询这个人都给哪些内容点赞过）
     */
    Page<PostLike> getLikedListByLikeUserId(Integer userId, Integer currentPage, Integer pageSize);

    /**
     * 通过被点赞内容和点赞人id查询是否存在点赞记录
     */
    PostLike getByPostIdAndLikeUserId(Integer postId, Integer userId);

    /**
     * 将Redis里的点赞数据存入数据库中,True 表示还需要进一步持久化， False表示数据库中已存在该数据，无需进一步持久化
     */
    void transLikedFromRedisDB();

    /**
     * 将Redis中的点赞数量数据存入数据库
     */
    void transLikedCountFromRedisDB();
}
